﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SAAC.DTO;
using SAAC.BLL;
using System.Transactions;

namespace SAAC.Funcionario
{
    public partial class Cadastro01 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                gerenciaVisibilidadeComponentesMaster();
            }

        }

        protected void btnCadastrar_Click(object sender, EventArgs e)
        {
            try
            {
				if (txtSenha.Text == txtConfirmaSenha.Text)
				{
					using (TransactionScope scope = new TransactionScope())
					{
						var bllUsuario = new UsuarioBLL();
						var usuario = new UsuarioDTO();
						usuario.Login = txtUsuario.Text;
						usuario.Senha = txtSenha.Text;
						//Usuário é do tipo Funcionario
						usuario.TipoUsuario = new TipoUsuarioDTO();
						usuario.TipoUsuario.Id = (int)ETipoUsuario.Funcionario;
						bllUsuario.Insert(usuario);
						usuario = bllUsuario.Select(usuario);

						var bllFuncionario = new FuncionarioBLL();
						var funcionario = new FuncionarioDTO();
						funcionario.Usuario = new UsuarioDTO();

						funcionario.Matricula = Convert.ToInt32(txtMatricula.Text);
						funcionario.Nome = txtNome.Text;
						funcionario.Usuario.Id = usuario.Id;
						bllFuncionario.Insert(funcionario);
						scope.Complete();
					}
				}
                Response.Redirect("/Default.aspx");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        private void gerenciaVisibilidadeComponentesMaster()
        {
            Menu menuAluno = (Menu)Master.FindControl("MenuAluno");
            menuAluno.Visible = false;
            Menu menuFuncionario = (Menu)Master.FindControl("MenuFuncionario");
            menuFuncionario.Visible = false;
            Menu menuProfessor = (Menu)Master.FindControl("MenuProfessor");
            menuProfessor.Visible = false;
            Menu menuColegiado = (Menu)Master.FindControl("MenuColegiado");
            menuColegiado.Visible = false; 
        }
    }
}